using System;
using System.ComponentModel;
using Microsoft.TeamFoundation.Build.Client;

namespace BuildStatusIndicator.ControllerTests.Stubs
{
    public class TfsBuildDetailStub : IBuildDetail
    {
        #region Implementation of IBuildDetail

        public void Connect(int pollingInterval, ISynchronizeInvoke synchronizingObject)
        {
            throw new NotImplementedException();
        }

        public void Connect()
        {
            throw new NotImplementedException();
        }

        public IBuildDeletionResult Delete()
        {
            throw new NotImplementedException();
        }

        public void Disconnect()
        {
            throw new NotImplementedException();
        }

        public void RefreshMinimalDetails()
        {
            throw new NotImplementedException();
        }

        public void RefreshAllDetails()
        {
            throw new NotImplementedException();
        }

        public void Refresh(string[] informationTypes, QueryOptions queryOptions)
        {
            throw new NotImplementedException();
        }

        public void Save()
        {
            throw new NotImplementedException();
        }

        public void Stop()
        {
            throw new NotImplementedException();
        }

        public void Wait()
        {
            throw new NotImplementedException();
        }

        public string BuildNumber
        {
            get; set;
        }

        public BuildPhaseStatus CompilationStatus
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public string ConfigurationFolderPath
        {
            get { throw new NotImplementedException(); }
        }

        public string DropLocation
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public string LabelName
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public bool KeepForever
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public string LogLocation
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public string Quality
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public BuildStatus Status
        {
            get; set;
        }

        public BuildPhaseStatus TestStatus
        {
            get; set;
        }

        public IBuildAgent BuildAgent
        {
            get { throw new NotImplementedException(); }
        }

        public Uri BuildAgentUri
        {
            get { throw new NotImplementedException(); }
        }

        public IBuildDefinition BuildDefinition
        {
            get { throw new NotImplementedException(); }
        }

        public Uri BuildDefinitionUri
        {
            get { throw new NotImplementedException(); }
        }

        public bool BuildFinished
        {
            get { throw new NotImplementedException(); }
        }

        public IBuildServer BuildServer
        {
            get; set;
        }

        public string CommandLineArguments
        {
            get { throw new NotImplementedException(); }
        }

        public IBuildInformation Information
        {
            get { throw new NotImplementedException(); }
        }

        public Uri ConfigurationFolderUri
        {
            get { throw new NotImplementedException(); }
        }

        public string LastChangedBy
        {
            get { throw new NotImplementedException(); }
        }

        public DateTime LastChangedOn
        {
            get { throw new NotImplementedException(); }
        }

        public BuildReason Reason
        {
            get { throw new NotImplementedException(); }
        }

        public string RequestedBy
        {
            get { throw new NotImplementedException(); }
        }

        public string RequestedFor
        {
            get; set;
        }

        public string SourceGetVersion
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public DateTime StartTime
        {
            get { throw new NotImplementedException(); }
        }

        public DateTime FinishTime
        {
            get; set;
        }

        public Uri Uri
        {
            get { throw new NotImplementedException(); }
        }

        public event StatusChangedEventHandler StatusChanging;
        public event StatusChangedEventHandler StatusChanged;
        public event PollingCompletedEventHandler PollingCompleted;

        #endregion
    }
}